package br.museu.negocio.interfaces;

import java.util.List;

import org.joda.time.LocalDate;

import br.museu.excessoes.QuantidadeTicketsInvalidaException;
import br.museu.model.Evento;
import br.museu.model.Ticket;
import br.museu.model.Usuario;

public interface ITicketNegocio {

	public void comprarTicket(Ticket ticket) throws QuantidadeTicketsInvalidaException;

	public void cancelarCompraTicket(String codigoTicket);

	public List<Ticket> listarTicketsEvento(Evento evento);

	public List<Ticket> listarTicketsUsuario(Usuario usuario);

	public int contarTicketsVendidosEvento(Evento evento);

	public Double calcularTotalTicketsVendidosEvento(Evento evento);

	public Double calcularTotalTicketsVendidosMes(LocalDate data);

	public Double calcularTotalTicketsVendidosDia();

}
